package com.youboy.wechatapi.utils.http;

import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.Map;

import org.apache.commons.lang.StringUtils;

/**
 * @ProjectName：wechatapi   
 * @author：冉尧（Yvan）
 * @CreateTime：2014年10月18日 下午4:33:03  
 * @Remarks：   
 */
public class URLUtil {

	/**
	 * 将map转换成url参数
	 * @throws UnsupportedEncodingException 
	 */
	public static String getUrlParams(Map<String, Object> map) throws UnsupportedEncodingException {
		return getUrlParams(map, "utf-8");
	}
	
	public static String getUrlParams(Map<String, Object> map, String encode) throws UnsupportedEncodingException{
		
		if (map == null) {
			return "";
		}
		
		StringBuffer sb = new StringBuffer();
		if(encode == null || encode.trim() == ""){
			encode = "utf-8";
		}
		
		String value = null;
		for (Map.Entry<String, Object> entry : map.entrySet()) {
			value = URLEncoder.encode(entry.getValue().toString(), encode);
			sb.append(entry.getKey() + "=" + value);
			sb.append("&");
		}
		
		String s = sb.toString();
		if (s.endsWith("&")) {
			s = StringUtils.substringBeforeLast(s, "&");
		}
		return s;
	}
}

